<?php
/**
 * alltosun.com  message.php
 * ============================================================================
 * 版权所有 (C) 2009-2013 北京互动阳光科技有限公司，并保留所有权利。
 * 网站地址: http://www.alltosun.com
 * ----------------------------------------------------------------------------
 * 许可声明：这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
 * ============================================================================
 * $Author: 王德康 (wangdk@alltosun.com) $
 * $Date: 2016-1-25 下午11:58:28 $
 * $Id$
 */
class message_widget
{
    /**
     * 经销商提交支付凭证短信
     */
    public static function create_payoff_message($user_id, $order_id){
        
//         if (ONDEV) {
//             return false;
//         }
        
        $user_info = user_helper::get_user_info($user_id);
        if (!$user_info) {
            return false;
        }
        
        if ($user_info['assistant_user_id']) {
            $assistant_user_info = user_helper::get_user_info($user_info['assistant_user_id']);
            $msg_arr['assistant_name'] = @$assistant_user_info['realname'] ? $assistant_user_info['realname'] : $assistant_user_info['nickname'];
            $mobile = $assistant_user_info['mobile'];
        } else {
            $msg_arr['assistant_name'] = '默认销售助理';
            $mobile = '13000000000';
        }
        $order_no = order_helper::order_id_encode($order_id);
        
        $msg_arr['order_id'] = $order_no;
        $msg_arr['dealer_name'] = $user_info['realname'] ? $user_info['realname'] : $user_info['nickname'];
        
        aliysms_helper::sms_send('抱抱堂', $msg_arr, $mobile, 'dealer_trade_pay_order');
        
    }
    
    /**
     * 订单任务分配
     * 1、经销商直接分配签约的市场人员
     * 2、经销商直接配送
     * 3、经销商分配市场人员B
     * @param unknown_type $store_info
     * @param unknown_type $market_info
     * @param unknown_type $agency_info
     * @param unknown_type $assigned_id
     */
    public function assigned_order_message($store_info,$market_info, $agency_info, $assigned_id)
    {
//         if (ONDEV) {
//             return false;
//         }
        
        // 店铺
        $store_title             = $store_info['store_title'];
        $store_user_name         = $store_info['user_name'];
        $mobile                  = $store_info['mobile'];
        $order_no                = $store_info['order_no'];
        $store_user_id           = $store_info['user_id'];

        // 默认签约的市场人员(有可能是经销商)
        $store_market_user_id    = $store_info['market_user_id'];
        $store_market_user_name  = $store_info['market_user_name'];
        $store_market_mobile     = $store_info['market_mobile'];

        // 指派的市场人员
        $market_user_name = $market_info['market_user_name'];
        $market_user_id   = $market_info['market_user_id'];
        $market_mobile    = $market_info['market_mobile'];

        // 经销商
        $agency_mobile    = $agency_info['agency_mobile'];
        $agency_id        = $agency_info['agency_id'];
        $agency_user_name = $agency_info['user_name'];

        /**
         * 1、经销商自己签约的店
         *        1、指派给自己，直接处理，                短信通知店铺
         *        2、指派其他市场人员，等待市场人员处理      通知店铺 和 分配市场人员
         * 2、经销商签约的店
         *     1、指派给签约的市场人员，等待市场人员处理      通知签约市场人员和店铺
         *     2、指派给其他市场人员，等待其他市场人员处理    通知店铺，签约的市场人员和分派的市场人员
         *     3、指派第三方人员，等待第三方人员处理         通知店铺，签约的市场人员和第三方人员
         */
        $replace_arr = array(
            'store_name' => $store_title,
            'order_id'   => $order_no
        );
        if ($assigned_id) {
            if ($assigned_id == $agency_id) {
                // 指派给经销商 (通知店铺)
//                 $replace_arr['phone_num'] = $agency_mobile;
//                 aliysms_helper::sms_send('抱抱堂', $replace_arr, $mobile, 'dealer_delivery_store');
//                 message_center_helper::get_config_add_message('dealer_delivery_store', $replace_arr, $store_user_id, 'store', $order_no, 1, 'arrival');
            } else {
                // 指派给市场人员
                $replace_arr['name']      = $market_user_name;
                $replace_arr['phone_num'] = $market_mobile;
                // 不管是否是签约的市场人员都会受到一条短信
                if ($market_mobile != $agency_mobile/*  && $market_mobile == $store_market_mobile */) {
                    aliysms_helper::sms_send('抱抱堂', $replace_arr, $market_mobile, 'dealer_assign_marketing_marketing');
                    message_center_helper::get_config_add_message('dealer_assign_marketing_marketing', $replace_arr, $store_market_user_id, 'manage', $order_no, 1, 'arrival');
                }
                
                // 通知店铺
                aliysms_helper::sms_send('抱抱堂', $replace_arr, $mobile, 'dealer_assign_marketing_store');
                message_center_helper::get_config_add_message('dealer_assign_marketing_store', $replace_arr, $store_user_id, 'store', $order_no, 1, 'arrival');
                
                if ($store_market_user_id != $market_user_id && $store_market_mobile != $agency_mobile) {
                    // 指派的是其他市场人员(通知签约的市场人员)
                    $replace_arr['a_name'] = $store_market_user_name;
                    $replace_arr['b_name'] = $market_user_name;
                    
                    aliysms_helper::sms_send('抱抱堂', $replace_arr, $store_market_mobile, 'dealer_assign_marketing_b_marketing');
                    message_center_helper::get_config_add_message('dealer_assign_marketing_b_marketing', $replace_arr, $store_market_user_id, 'manage', $order_no, 1, 'arrival');
                }
            }
        } else {
            // 指派的是第三方人员(需要通知第三方人员,签约的市场人员和店铺)
            // 通知第三方人员
            $replace_arr['name']        = $market_user_name;
            $replace_arr['dealer_name'] = $agency_user_name;
            
            aliysms_helper::sms_send('抱抱堂', $replace_arr, $market_mobile, 'person_get_delivery_message_person');
            
            // 通知签约市场人员(如果没有市场人员择不发)
            if ($store_market_mobile && $store_market_mobile != $agency_mobile) {
                $replace_arr['name']        = $store_market_user_name;
                $replace_arr['person_name'] = $market_user_name;
                
                aliysms_helper::sms_send('抱抱堂', $replace_arr, $store_market_mobile, 'dealer_assign_person_marketing');
                message_center_helper::get_config_add_message('dealer_assign_person_marketing', $replace_arr, $store_market_user_id, 'manage', $order_no, 1, 'arrival');
            }
            
            
            // 通知店铺
            // person_delivery_store
            $replace_arr['phone_num'] = $market_mobile;
            aliysms_helper::sms_send('抱抱堂', $replace_arr, $mobile, 'person_delivery_store');
            message_center_helper::get_config_add_message('person_delivery_store', $replace_arr, $store_user_id, 'store', $order_no, 1, 'arrival');
        }
        
//         if($assigned_id != $agency_id) {
//             // 指派不是签约的市场人员, 而且经销商是市场人员不需要要收短信
//             if ($assigned_id != $store_market_user_id  &&  $store_market_user_id != $agency_id ) {

//                 // 发签约的市场人员
//                 $replace_arr = array(
//                         'a_name'     => $store_market_user_name,
//                         'store_name' => $store_title,
//                         'order_id'   => $order_no,
//                         'b_name'     => $market_user_name,
//                 );

//                 if ($assigned_id) {
//                     // 指派了其他市场人员B,签约的市场人员A收到的短信
//                     aliysms_helper::sms_send('抱抱堂', $replace_arr, $store_market_mobile, 'dealer_assign_marketing_b_marketing');
//                     message_center_helper::get_config_add_message('dealer_assign_marketing_b_marketing', $replace_arr, $store_market_user_id, 'manage', $order_no, 1, 'arrival');
//                 } else {
//                     // 指派了第三方人员,签约的市场人员A收到的短信
//                     aliysms_helper::sms_send('抱抱堂', $replace_arr, $store_market_mobile, 'person_delivery_store');
//                 }

//             }

//             // 如果是分配给第三方不用通知签约人员
//             // 签约的市场人员送货通知
//             $replace_arr = array(
//                         'store_name' => $store_title,
//                         'order_id'   => $order_no,
//                         'name'       => $market_user_name
//                     );

//             // 发市场人员 通知送货
//             aliysms_helper::sms_send('抱抱堂', $replace_arr, $market_mobile, 'dealer_assign_marketing_marketing');
//             if ($market_user_id) message_center_helper::get_config_add_message('dealer_assign_marketing_marketing', $replace_arr, $market_user_id, 'manage', $order_no, 1, 'arrival');

//             // 发给商户-市场人员送货
//             $replace_arr = array(
//                         'order_id'   => $order_no,
//                         'name'       => $market_user_name,
//                         'phone_num'  => $market_mobile,
//                         'store_name' => $store_title
//                    );

//             aliysms_helper::sms_send('抱抱堂', $replace_arr, $mobile, 'dealer_assign_marketing_store');
//             message_center_helper::get_config_add_message('dealer_assign_marketing_store', $replace_arr, $store_user_id, 'store', $order_no, 1, 'arrival');

//         } else {

//             // 经销商自己送货???
// //             $replace_arr = array(
// //                     'order_id'   => $order_no,
// //                     'name'       => $market_user_name,
// //                     'phone_num'  => $market_mobile,
// //                     'store_name' => $store_title
// //             );

// //             //发给商户-经销商亲自送货
// //             aliysms_helper::sms_send('抱抱堂', $replace_arr, $mobile, 'marketing_b_confirm_store');
// //             message_center_helper::get_config_add_message('store_stock_dealer_confirm_store', $replace_arr, $store_user_id, 'store', $order_no, 1, 'arrival');
//         }
    }

    /**
     * 经销商提交订单短信
     */
    public function dealer_trade_order_message($order_id_encode, $store_info)
    {
//         if (ONDEV) {
//             return false;
//         }
        
         $store_user_info = user_helper::get_user_info($store_info['user_id']);
        
        $msg_arr = array(
            'order_id'    => $order_id_encode,
            'dealer_name' => $store_user_info['realname'],
        );
        
        // 发送给默认的助理(如果存在的话)
        if ($store_user_info['assistant_user_id']) {
            $assistant_user_info = user_helper::get_user_info($store_user_info['assistant_user_id']);
            if ($assistant_user_info) {
                $msg_arr['assistant_name'] = $assistant_user_info['realname'];
                aliysms_helper::sms_send('抱抱堂', $msg_arr, $assistant_user_info['mobile'], 'dealer_stock_assistant');
            }
        }
        
        // @TODO 发给财务(随便选择一个)
//         $financial_user_ids = user_helper::get_role_user_ids(user_config::FINANCIAL_MANAGEMENT, 'ORDER BY `id` LIMIT 0,1');
        
//         if ($financial_user_ids) {
//             $financial_user_id = $financial_user_ids[0];
//             $financial_user_info = user_helper::get_user_info($financial_user_id);
//             if ($financial_user_info) {
//                 if (!isset($msg_arr['assistant_name']) || !$msg_arr['assistant_name']) {
//                     $msg_arr['assistant_name'] = '默认助理';
//                 }
//                 $msg_arr['financial_name'] = $financial_user_info['realname'];
//                 aliysms_helper::sms_send('抱抱堂', $msg_arr, $financial_user_info['mobile'], 'dealer_stock_financial');
                
//             }
//         }
        
        // 给经销商发短信
        /**
         * 账号：1202 2259 0990 0003 730
户名：杭州橙麦壹食品有限公司
开户行：中国工商银行临安青山湖科技城支行
         */
        $msg_arr['bank_code'] = '1202 2259 0990 0003 730';
        $msg_arr['account_name'] = '杭州橙麦壹食品有限公司';
        $msg_arr['bank_name'] = '中国工商银行临安青山湖科技城支行';
        
        if (!isset($assistant_user_info) || !$assistant_user_info) {
            $msg_arr['assistant_name'] = '系统助理';
            $msg_arr['phone_num'] = '13000000000';
        } else {
            $msg_arr['phone_num'] = $assistant_user_info['mobile'];
        }
        
        aliysms_helper::sms_send('抱抱堂', $msg_arr, $store_user_info['mobile'], 'dealer_stock_from_back_dealer');
        message_center_helper::get_config_add_message('dealer_stock_from_back_dealer', $msg_arr, $store_user_info['id'], 'manage',  $order_id_encode, 1, 'arrival');
        
    }

    /**
     * 经销商撤销订单
     */
    public function cancel_order_message($cur_user_info, $order_id)
    {
//         if (ONDEV) {
//             return false;
//         }
        
        $role_id = user_helper::get_user_role_id($cur_user_info['id']);
        
        if ($role_id == user_config::AGENCY) {
            // 当前的撤销订单人是经销商
            $msg_arr = array(
                'dealer_name' => $cur_user_info['realname'],
                'order_id'    => $order_id,
                'phone_num'   => $cur_user_info['mobile']
            );
            // 发给助理
            // dealer_cancel_order_assistant
            // '销售助理${assistant_name}，您的客户 ${dealer_name} 已撤销订单${order_id}，请与经销商确认，经销商：${dealer_name} 电话：${phone_num}。'
            
            if ($cur_user_info['assistant_user_id']) {
                $assistant_user_info = user_helper::get_user_info($cur_user_info['assistant_user_id']);
                $msg_arr['assistant_name'] = $assistant_user_info['realname'];
                aliysms_helper::sms_send('抱抱堂', $msg_arr, $assistant_user_info['mobile'], 'dealer_cancel_order_assistant');
            }
            
//             // 发给财务
//             // dealer_cancel_order_financial
//             // '财务${financial_name}，${assistant_name}的客户 ${dealer_name} 已撤销订单${order_id}。该订单无需处理。'
//             // @TODO 发给财务(随便选择一个)
//             $financial_user_ids = user_helper::get_role_user_ids(user_config::FINANCIAL_MANAGEMENT, 'ORDER BY `id` LIMIT 0,1');
//             if ($financial_user_ids) {
//                 $financial_user_id = $financial_user_ids[0];
//                 $financial_user_info = user_helper::get_user_info($financial_user_id);
//                 if ($financial_user_info) {
//                     if (!isset($msg_arr['assistant_name']) || !$msg_arr['assistant_name']) {
//                         $msg_arr['assistant_name'] = '默认助理';
//                     }
//                     $msg_arr['financial_name'] = $financial_user_info['realname'];
//                     aliysms_helper::sms_send('抱抱堂', $msg_arr, $financial_user_info['mobile'], 'dealer_cancel_order_financial');
//                 }
//             }
            
        } else if ($role_id == user_config::ASSISTANT) {
            // 当前的撤销订单人是销售助理(暂时不用发)
            
        }
        
    }
    
    /**
     * 给经销商发货
     */
    public function transport_order_message($order_info, $express_name, $express_no)
    {
//         if (ONDEV) {
//             return false;
//         }
        
        $store_user_info = user_helper::get_user_info($order_info['user_id']);
        $order_id = order_helper::order_id_encode($order_info['id']);
        
        $assistant_user_info = array();
        $assistant_mobile    = '13000000000';
        $assistant_name      = '默认助理';
        
        if ($store_user_info['assistant_user_id']) {
            $assistant_user_info = user_helper::get_user_info($store_user_info['assistant_user_id']);
            if ($assistant_user_info) {
                $assistant_mobile = $assistant_user_info['mobile'];
                $assistant_name   = $assistant_user_info['realname'];
            }
        }
        $msg_arr = array(
            'dealer_name'    => $store_user_info['realname'],
            'order_id'       => $order_id,
            'express_name'   => $express_name,
            'express_no'     => $express_no,
            'assistant_name' => $assistant_name,
            'phone_num'      => $assistant_mobile
        );
        
        aliysms_helper::sms_send('抱抱堂', $msg_arr, $store_user_info['mobile'], 'assistant_delivery_dealer');
        message_center_helper::get_config_add_message('assistant_delivery_dealer', $msg_arr, $order_info['user_id'], 'manage', $order_id, 1, 'arrival');
        
        // 发给经销商的收货人(如果经销商和收货人的电话不一致才发)
        $dealer_address_info = dealers_helper::get_default_dealer_address($order_info['user_id']);
        if ($dealer_address_info && $dealer_address_info['dealer_mobile'] != $store_user_info['mobile']) {
            // ${name}您好,${dealer_name} 的订单:${order_id} 将要发货${address}，请近期留意， 如需帮助请联系您的合伙人电话： ${phone_num}。
            $msg_arr['name']      = $dealer_address_info['dealer_name'];
            $msg_arr['address']   = $dealer_address_info['dealer_address'];
            $msg_arr['phone_num'] = $store_user_info['mobile'];
            aliysms_helper::sms_send('抱抱堂', $msg_arr, $dealer_address_info['dealer_mobile'], 'assistant_delivery_receiver');
        }
        
    }
    
    /**
     * 经销商确认到货
     */
    public function confirm_finished_message($cur_user_info, $order_info)
    {
//         if (ONDEV) {
//             return false;
//         }
        
        if (!$cur_user_info || !$order_info) {
            return false;
        }
        $order_id = order_helper::order_id_encode($order_info['id']);
        
        // 发给销售助理
        if ($cur_user_info['assistant_user_id']) {
            $assistant_user_info = user_helper::get_user_info($cur_user_info['assistant_user_id']);
            if ($assistant_user_info) {
                $msg_arr = array(
                    'assistant_name' => $assistant_user_info['realname'],
                    'dealer_name'    => $cur_user_info['realname'],
                    'order_id'       => $order_id,
                    'phone_num'      => $cur_user_info['mobile']
                );
                aliysms_helper::sms_send('抱抱堂', $msg_arr, $assistant_user_info['mobile'], 'dealer_confirm_delivery_finished_assistant');
                
            }
        }
    }
    
}